layui.define([ 'form', 'laydate', 'table' ], function(exports) {
    var form = layui.form;
    var laydate = layui.laydate;
    var table = layui.table;
    var planItemTable = null;
    var view ={
        init:function(){
            this.initTable();
            this.initSearchForm();
            this.initToolBar();
            window.dataReload = function(){
                Lib.doSearchForm($("#searchForm"),planItemTable)
            }
        },
        initTable:function(){
            var data = $("#searchForm").serializeJson();
            planItemTable = table.render({
                elem : '#planItemTable',
                height : Lib.getTableHeight(0),
                cellMinWidth: 100,
                method : 'post',
                where: data,
                url : Common.ctxPath + '/planItem/planItem/majorList.json' // 数据接口
                ,page : true // 开启分页Lib.tablePage
                ,limit : 10,
                cols : [ [ // 表头
                    {
                        type : 'checkbox',
                        fixed:'left',
                    },
                {
                    field : '',
                        title : '操作',
                    align:'center',
                    fixed:'left',
                    width : 160,
                    templet:function (d) {
                        return '<a class="layui-btn  layui-btn-xs layui-btn-danger" lay-event="check">校验</a>'
                            +'<a class="layui-btn  layui-btn-xs layui-btn-normal" lay-event="showImg">查看图片</a>';
                    }
                },
                {

                    field : 'checker',
                    title : '校验人',
                    edit: 'text',
                    width : 160,
                },
                {

                    field : 'univName',
                    title : '大学名称',
                    edit: 'text',
                    width : 160,
                },
                {
                    field : 'univCode',
                    title : '大学代码',
                    fixed:'left',
                    edit: 'text',
                },
                {

                    field : 'majorName',
                    title : '专业名称',
                    edit: 'text',
                    width : 150,
                },
                {
                    field : 'majorCode',
                    title : '专业代码',
                    edit: 'text',
                },
                {

                    field : 'plan',
                    title : '招生人数',
                    edit: 'text',
                },
                {
                    field : 'univId',
                    title : '大学id',
                },
                {

                    field : 'planId',
                    title : '数据id',
                    width : 80,
                },
                {

                    field : 'provinceId',
                        title : '省份',
                },
                {

                    field : 'condictionId',
                        title : '选科要求',
                },
                {

                    field : 'courseValue',
                        title : '选科要求值',
                },

                {

                    field : 'cost',
                        title : '学费',
                },
                {
                    field : 'schoolYear',
                        title : '学制',
                },
                {
                    field : 'plus',
                        title : '名称附加',
                },
                {
                    field : 'includeMajors',
                    title : '包含专业',
                },
                {

                    field : 'remark',
                        title : '备注',
                }


        ] ]
                ,done: function (res, page, count) {
                    var that = this.elem.next();
                    res.data.forEach(function (item, index) {
                        if(item.checkValue==1){
                            return;
                        }

                        if (item.planCheck==0) {//判断条件，符合条件给角标
                            //更具自己需要加颜色或角标
                            var td = that.find(".layui-table-box tbody tr[data-index='" + index + "'] td[data-field='plan']").css("background-color", "#C7EDCC");//给单元格添加颜色
                        }
                        if (item.codeCheck==0&&item.type==1) {//判断条件，符合条件给角标
                            //更具自己需要加颜色或角标
                            var td = that.find(".layui-table-box tbody tr[data-index='" + index + "'] td[data-field='majorCode']").css("background-color", "#C7EDCC");//给单元格添加颜色
                        }


                        if (item.nameExists==0&&item.type==1) {//判断条件，符合条件给角标
                            //更具自己需要加颜色或角标
                            var td = that.find(".layui-table-box tbody tr[data-index='" + index + "'] td[data-field='majorName']").css("background-color", "#C7EDCC");//给单元格添加颜色

                        }
                    });

                }

        });
            table.on('sort(planItemTable)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                console.log(obj.field); //当前排序的字段名
                console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
                console.log(this); //当前排序的 th 对象
                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('planItemTable', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        ,order: obj.type //排序方式
                    }
                });
            });
            table.on('tool(planItemTable)', function(obj){
                var planItem = obj.data;
                 if(obj.event=="check"){
                    $.ajax({
                        url:Common.ctxPath+"/planItem/planItem/check.json",
                        type:"POST",
                        data:{
                            planId:planItem.planId
                        },
                        success:function(res){
                            if(res.code==0){
                                window.dataReload();
                                Common.info("操作成功");
                            }else{
                                Common.info("操作失败");
                                Lib.closeFrame();
                            }
                        }
                    });
                }else if(obj.event=="showImg"){
                     var imgHtml = "<img src='https://static.51sdx.com/images" + planItem.fileName + "' />";
                     var winHeight = $(window).height() - 80;  // 浏览器可视部分高度
                     var winWidth = $(window).width() - 100;  // 浏览器可视部分宽度
                     window.open('https://static.51sdx.com/images' + planItem.fileName );
                     // var imgHtml = "<img src='http://wx2.sinaimg.cn/orj360/92c91978gy1gel2bwaymuj20ku26swpw.jpg' width='600px'/>";
                     //捕获页
                     // layer.open({
                     //     type: 1,
                     //     // shade: false,
                     //     shade: 0.8,
                     //     offset: 'auto',
                     //     shadeClose:true,
                     //     scrollbar: false,
                     //     skin:'layui-layer-nobg',
                     //     title: false, //不显示标题
                     //     area:[winWidth+'px',winHeight+'px'],
                     //     // area: [600+'px', 600+'px'],
                     //     content: imgHtml, //捕获的元素，注意：最好该指定的元素要存放在body最外层，否则可能被其它的相对元素所影响
                     //     cancel: function () {
                     //         //layer.msg('捕获就是从页面已经存在的元素上，包裹layer的结构', { time: 5000, icon: 6 });
                     //     }
                     // });
                 }
            })

            table.on('edit(planItemTable)', function(obj){
                console.log(obj.value); //得到修改后的值
                console.log(obj.field); //当前编辑的字段名
                console.log(obj.data); //所在行的所有相关数据

                if(obj.value){
                    var param = {planId:obj.data.planId};
                    param[obj.field]=obj.value;
                    $.ajax({
                        url:Common.ctxPath+"/planItem/planItem/save.json",
                        type:"POST",
                        data:param,
                        success:function(res){
                            if(res.code==0){
                                Common.info("操作成功");
                            }else{
                                Common.info("操作失败");
                            }
                        }
                    });
                }
            })
        },

        initSearchForm:function(){
            Lib.initSearchForm( $("#searchForm"),planItemTable,form);
        },
        initToolBar:function(){
            toolbar = {
                add : function() { // 获取选中数据
                    var url = "/planItem/planItem/add.do";
                    Common.openDlg(url,"OCR计划管理>新增");
                },
                edit : function() { // 获取选中数目
                    var data = Common.getOneFromTable(table,"planItemTable");
                    if(data==null){
                        return ;
                    }
                    var url = "/planItem/planItem/edit.do?planId="+data.planId;
                    Common.openDlg(url,"OCR计划管理>"+data.planId+">编辑");
                },
                del : function() {
                    layui.use(['del'], function(){
                        var delView = layui.del;
                        delView.delBatch();
                    });
                }
        };
            $('.ext-toolbar').on('click', function() {
                var type = $(this).data('type');
                toolbar[type] ? toolbar[type].call(this) : '';
            });
        }
    }

    form.on('select(selectUmId)', function(data){
        let split = data.value.split("_");
        $.ajax({
            url:Common.ctxPath+"/planItem/planItem/save.json",
            type:"POST",
            data:{
                planId:split[0],
                umId:split[1],
                univId:split[2],
                univName:data.elem.innerText
            },
            success:function(res){
                if(res.code==0){
                    Common.info("操作成功");
                }else{
                    Common.info("操作失败");
                }
            }
        });
     });

    form.on('select(year)', function(data){
        setBatch();
    });

    form.on('select(majorTypeId)', function(data){
        setBatch();
    });

    form.on('select(provinceId)', function(data){
        setBatch();
    });

    function setBatch() {
        var year = $('#year option:selected').val();
        var majorTypeId = $('#majorTypeId option:selected').val();
        var provinceId = $('#provinceId').val();
        if(year!=""&&majorTypeId!=""&&provinceId!=""){
            $.ajax({
                type: 'POST',
                url: Common.ctxPath+"/tDEnrolledData/tDEnrolledData/getBatch.json",
                data: {
                    provinceId:provinceId,
                    year:year,
                    majorTypeId:majorTypeId
                },
                dataType:'json',
                success: function(data){
                    $("#batchId").html("");
                    $.each(data, function(key, val) {
                        var option1 = $("<option>").val(val.batchId).text(val.name);
                        $("#batchId").append(option1);
                    });
                    form.render('select');
                }
            });
        }

    }

    exports('index',view);

});
